1. Field of the Invention
This invention relates to the estimation of the response of a channel to an impulse to allow mapping of that environment or one or more objects therein; particularly but not exclusively using acoustic impulses. It relates in particular to measuring real time changes in the environment.
2. Description of Related Technology
There are many diverse applications in which it is desirable to be able to use acoustic signals to gain information about an environment. Examples include people tracing, human-computer interfaces, seabed mapping, medical ultrasound imaging, acoustic scanners, security devices and robot vision. Using acoustic signals rather than light can have several advantages—for example it is insensitive to light conditions, works well with frequencies undetectable by humans and can offer improved or simplified depth perception.
The basic principle of acoustic mapping is that a short burst or impulse is emitted into the environment and the reflection from an object of interest in the environment is measured to determine something about it, usually its size, shape or position. This is known in the art as estimating the impulse response of the channel or simply estimating the channel. The main obstacle encountered in channel estimation for acoustic monitoring is that of unwanted echoes which arise in virtually all realistic applications. If the channel and observer are both static this is not a serious problem. However if there is any element of time variation in the system, it is necessary to transmit impulses repeatedly in order to measure the changes. A problem occurs when there is interference between a transmitted pulse and echoes from previous pulses. This problem is demonstrated with reference to FIGS. 1a to 1d. 
FIG. 1a shows an impulse is driven through an output device (e.g. a loudspeaker or transducer), and the resulting signal received through an input device (e.g. a microphone, a sensor). The impulse response is shown as a time series, where the horizontal axis is the time axis and the vertical axis shows the response (e.g. the pressure) at the given time. The estimated impulse response can give important information about the channel and hence the surroundings; the position of an object (“the reflector”); deformities and shapes. Estimation of the impulse response is the basis of a vast range of signal processing applications, ranging from wireless communication through medical imaging and seismic explorations.
However there are many situations in which the surroundings could change, or the channel vary in another way. It is desirable to be able to monitor this change. Clearly to give the best temporal resolution one would need to measure the impulse response as frequently as possible. It might appear that an obvious way to do this would be to transmit impulses more often, as shown in FIG. 1(b); but this gives rise to a problem. When an impulse is sent shortly after a previous one, echoes from the first impulse response ‘colour’ the next estimate, as can be seen from the wavy patterns in FIG. 1(b) between the main peaks. Each estimate of the channel is therefore distorted to some extent by the last estimate. Although this is a kind of noise in that it masks the wanted signal, it is not like random environmental noise which could be overcome by increasing the signal strength or by averaging over successive estimates. Instead it is “structured” noise as it is derived from the signal itself and cannot be corrected for without knowing the channel perfectly which is of course the original objective.
The severity of this problem increases when the output impulses are emitted even more frequently, as shown in FIG. 1(c). Looking at a single “impulse response slice” (see FIG. 1(d)) from the waveform of FIG. 1(c) and comparing it to the corresponding response from FIG. 1(a) when just one impulse was transmitted, it will be seen that even though in this example the physical channel has not changed, the attempt at frequent estimation of the channel has failed; the estimate measured is dramatically different and so would give a highly inaccurate result.
The example above highlights a dilemma in channel estimation. In order to estimate a channel accurately (and hence, find the position of e.g. a strong reflector) it is necessary to use a “send-receive-wait” method. In other words it is necessary to: send a transmit signal; receive the returning signal; and wait unit all echoes have died out before transmitting again. This avoids the estimation being ruined by the structured noise arising from lingering echoes from earlier impulses. However though this severely limits the temporal resolution which is achievable and therefore the temporal tracking capabilities of many schemes (such as seabed mapping equipment or finger positioning apparatus/computer-human interfaces).
What is needed is a way of continuously, or continually and frequently, obtaining accurate estimates of the impulse response of a channel; or alternatively, monitoring or tracking the impulse response.
A previous proposal for continuously estimating a channel has been made by Klahold & al in “Continuous Sonar Sensing for Mobile Mini-robots” (Proceedings of the IEEE International Conference on Robotics and Information (ICRA0”), pp. 323-328, 2002). However, these methods are based on so-called cross-correlation techniques. As a result they have significant shortcomings. In particular, whilst such methods can be used with sliding windows of the transmitted and received signals to continually update the estimate of the channel's impulse response, it can be shown that as well as being heavily dependent on using a long enough window, the optimum performance of these techniques relies on perfect piecewise orthogonality of input signals. In other words each sample of the transmitted signal must be orthogonal with every other sample. This is very hard to achieve—especially when it is considered that in a sliding window the signal is simply incrementally shifted along so that each element of the input sample code must be orthogonal with the corresponding element of the same code a window-length away. Schemes relying on cross-correlation are dominated by this need to find sequences which fulfill the requirement for orthogonality as adequately as possible. Some examples of attempts at such codes are given by chaos coding, Gold Sequences and Golan codes. However none of these has produced satisfactory results.